package com.sybil.ot.servicio;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

public class EmailService {

   private JavaMailSenderImpl enviadorEmail;
   private SimpleMailMessage mensajeSimple;
   private String urlPagina;
//   private boolean debugMode;

   public void setMensajeSimple(SimpleMailMessage mensajeSimple) {
      this.mensajeSimple = mensajeSimple;
   }

   public void setEnviadorEmail(JavaMailSenderImpl mailSender) {
      this.enviadorEmail = mailSender;
   }

   public void setUrlPagina(String urlPagina) {
      this.urlPagina = urlPagina;
   }

   public String getUrlPagina() {
      return urlPagina;
   }

//
//   public void setDebugMode(boolean debugMode) {
//      this.debugMode = debugMode;
//   }
   public void enviarEmailSimple(String dear, String content) {
      SimpleMailMessage message = new SimpleMailMessage(mensajeSimple);
      message.setText(String.format(mensajeSimple.getText(), dear, content));
      enviadorEmail.send(message);
   }

   public void enviarEmail(String de, String para, String asunto, String textoMensaje) {
      SimpleMailMessage mensaje = new SimpleMailMessage();
      mensaje.setFrom(de);
      mensaje.setTo(para);
      mensaje.setSubject(asunto);
      mensaje.setText(textoMensaje);
      enviadorEmail.send(mensaje);
   }

   public void enviarEmailHTML(String de, String para, String asunto, String textoMensaje) throws MessagingException {
      MimeMessage message = enviadorEmail.createMimeMessage();
      MimeMessageHelper helper = null;
      helper = new MimeMessageHelper(message);
      helper.setFrom(de);
      helper.setTo(para);
      helper.setSubject(asunto);
      helper.setText(textoMensaje, true);// use the true flag to indicate the text included is HTML
      enviadorEmail.send(message);
   }
}
